// pages/search/index.js
const app = getApp();
Page({

    /**
     * 页面的初始数据
     */
    data: {
		StatusBar: app.globalData.StatusBar,		// 状态栏高度
		CustomBar: app.globalData.CustomBar,		// 整体高度
		windowHeight: app.globalData.windowHeight,	// 屏幕整体高度
		scrollHeight:0,								// scroll高度
		historys:[],								// 历史记录
		isHistoryShow:true,							// 是否显示历史记录
		showReturnItem:false,
		returnInfos:"没有匹配",
		returnList:[],								// 后端返回的数据
		value:"",									// 用户输入的内容
		type:1,										// 返回文章类型, 1:我要表白, 2:闲置出让, 3:失物招领
		id:0,
		pictures: [], 						// 这个是全屏展示图片, 不能用本地图片
		current:0,							// 画廊下标
		PicturesShow: false, 				// 是否显示图片展示
	},

    search: function (e) {						// 输入过程不断调用此函数得到新的搜索结果，参数是输入框的值value，返回Promise实例
        let that = this
		let {value} = e.detail
		that.setData({
			value
		})

    },
	
	changePic(e) { // 显示隐藏预览图片组件
		let {
			pictures,
			index
		} = e.detail
		this.setData({
			current:index,
			pictures:pictures,
			PicturesShow: true
		})
	},
	
	hide: function() {		// 关闭画廊触发
		this.setData({
			pictures:[]
		})
	},
	
	ensure: function() {						//	搜索
		let that = this
		let tempValue = that.data.value
		if(tempValue){
			that.initialRecord(tempValue)
		}
		wx.cloud.callFunction({
		    name:"operation",
		    data:{
		        function: "getSearchActicleList",
		        search: tempValue
		    }
		}).then(res=>{
			let {data} = res.result
			if(data.length>0){
				that.setData({
					isHistoryShow:false,	
					showReturnItem:true,
					returnList:data,
					value:""
				})
			}else {
				that.setData({
					isHistoryShow:false,	
					showReturnItem:false,
					value:""
				})
			}

		})
		.catch(err=>{
			that.setData({
				isHistoryShow:false,	
				showReturnItem:false,
				value:""
			})
		})
	},
	
    NaNResult: function (e) {							// 
        let that = this
		that.setData({
			isHistoryShow:true,	
			showReturnItem:false,
		})
    },
	
	
	initialRecord: function(param) {					// 保存历史记录之前操作
		let that = this
		wx.getStorage({
			key: 'record',
			success (res) {
				let temp = res.data
				let flag = temp.some((item)=>{
					return item===param
				})
				if(!flag&&(temp.length<=10)){
					temp.unshift(param)
					that.saveRecord(temp)
				}
			},
			fail (err) {
				let temp = []
				temp.push(param)
				wx.setStorage({
				  key:"record",
				  data: temp
				})
			}
		})
	},
	
	saveRecord: function( param) {					// 保存历史记录
		let that = this
		wx.setStorage({
		  key:"record",
		  data: param,
		  success () {
			that.setData({
				historys:param
			})
		  },
		})
	},
	
	clearHistory: function(){						// 删除历史记录
		let that = this
		wx.removeStorage({
		  key: 'record',
		  success (res) {
			that.setData({
				historys:[]
			})
		  }
		})
	},
	
	RefreshHistory: function(){
		let that = this
		wx.getStorage({								// 获取历史记录, 显示历史记录
			key: 'record',
			success (res) {
				let {data} = res
				that.setData({
					historys:data
				})
			},
		})
	},
	
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(e) {
		let that = this
		that.RefreshHistory()
		
		let key = e.key
		if(key!='') {
			that.setData({
				value:key
			})
		}
		
		wx.createSelectorQuery().select('.searchBox').boundingClientRect(function(rect){
		  rect.width   // 节点的宽度
		  rect.height  // 节点的高度
		}).exec(res=>{
			let serachHeight = res[0].height
			let CustomBar = that.data.CustomBar
			let windowHeight = that.data.windowHeight
			let temp = windowHeight-CustomBar-serachHeight
			that.setData({
				scrollHeight:temp
			})
		})
		
		
        that.setData({
            search: that.search.bind(this)
        })
    },


	searchHistory: function(e){						// 用户点击浏览记录, 进行搜索查询操作
		let {index} = e.currentTarget.dataset		// 下标 
		let temp = this.data.historys[index]
		this.setData({
			value:temp
		})
		this.ensure()
	},
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})